//那么，有多个.c头文件都包含引用test.h头文件，
// 此时，引起NUM宏的多重定义。
// 为了避免这个文件，test.h头文件的内容应该如下：

//此时，定义 _TEST_H_ 宏，并定义 NUM 宏。
//那么，当其他.c源文件包含 test.h头文件的时候，
// 通过 #ifndef 判断 _TEST_H_ 宏已经定义，就不再执行代码：
#ifndef _TEST_H_ //if判断，如果没有定义 _TEST_H_宏，就执行下面的语句，与if一样；


//声明一个变量
#define _TEST_H_ 10 //定义 _TEST_H_ 宏
//包含代码
//#include "utils.c"

//定义一个宏变量
#define NUM 100

#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
//X = 5 + 1
// 5 + 1 * 5 + 1
#define SQUARE(X) (X * X)

int random_number();

int a();


int b();

int c();
#endif
//此时，通过#ifndef来判断 _TEST_H_ 宏是否已经定义，如果还没有定义，就执行代码：

